﻿using Ewell.Interface.Common.Model.Constant;
using Ewell.Interface.Common.Model.GateWay.Dto.Basic;
using Ewell.Interface.Common.Model.GateWay.Dto.Out;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ewell.Interface.Common.Model.GateWay.GateWayUriInfo
{
    /// <summary>
    /// 门诊收费管理
    /// </summary>
    public class OutSettlementManageDubboService : GateWayUri
    {
        public override string url => "dubbo/cc.ewell.his.out.service.inter.dubbo.OutSettlementManageDubboService";
        /// <summary>
        /// [7-100072-01]收费预算
        /// </summary>
        public GateWayMethod outSettlementPre => new OutSettlementPre(url);
        /// <summary>
        /// [7-100073-01]收费正算
        /// </summary>
        public GateWayMethod outSettlement => new OutSettlement(url);
    }

    public class OutSettlementPre : GateWayMethod
    {
        public OutSettlementPre(string baseUrl) : base(baseUrl)
        {
        }

        public override string methodName => "outSettlementPre";

        public override string paramClass => "cc.ewell.his.out.upon.outsettlementmanage.OutSettlementPreRequest";

        public override DubboParamType paramType => DubboParamType.defaultParam;

        public override Type requestParamType => typeof(OutSettlementPreRequest);

        public override Type responseParamType => typeof(OutSettlementPreResponse);

        public override string desc => "[7-100072-01]收费预算";
    }

    public class OutSettlement : GateWayMethod
    {
        public OutSettlement(string baseUrl) : base(baseUrl)
        {
        }

        public override string methodName => "outSettlement";

        public override string paramClass => "cc.ewell.his.out.upon.outsettlementmanage.OutSettlementRequest";

        public override DubboParamType paramType => DubboParamType.defaultParam;

        public override Type requestParamType => typeof(OutSettlementRequest);

        public override Type responseParamType => typeof(object);

        public override string desc => "[7-100073-01]收费正算";
    }
}
